/******************************************************************************
 * Copyright (C) 2017 Chengdu Dlhd information industry co. LTD.
 * All Rights Reserved.
 * 本软件为成都顶联互动信息产业有限公司开发研制。未经本公司正式书面同意，其他任何个人、团体不得使用、复制、修改或发布本软件.
 *****************************************************************************/
package net.dgg.dggcloud.service.jrcrm.service.cms;


import net.dgg.dggcloud.service.common.base.service.BaseService;
import net.dgg.dggcloud.service.jrcrm.dao.cms.MessageTemplateDao;
import net.dgg.dggcloud.service.jrcrm.dao.cms.SmsTemplateDao;
import net.dgg.dggcloud.service.jrcrm.entity.cms.MessageTemplate;
import net.dgg.dggcloud.service.jrcrm.entity.cms.SmsTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @ClassName 〈MessageTemplateService>
 * @Description 消息模版service层
 * @Author 汤宏
 * @Date 2017/11/16 11:58
 */
@Service
public class MessageTemplateService extends BaseService {

    @Autowired
    private MessageTemplateDao messageTemplateDao;

    public List<Map> listMessageTemplateByMap(Map map) {
        return messageTemplateDao.listMessageTemplateByMap(map);
    }

    public Integer countMessageTemplateByMap(Map map) {
        return messageTemplateDao.countMessageTemplateByMap(map);
    }

    /**
     * 根据ID和code查询是否存在模版
     *
     * @param id   模版ID
     * @param code 模版code
     * @return
     */
    public Integer queryMessageTemplateRepeat(Long id, String code) {
        Map map = new HashMap();
        map.put("id", id);
        map.put("code", code);
        return messageTemplateDao.queryMessageTemplateRepeat(map);
    }

    public void deleteByIdHiber(String[] arryIds) {

        for (int i = 0; i < arryIds.length; i++) {
            this.repository.deleteEntityById(MessageTemplate.class, Long.parseLong(arryIds[i]));
        }
    }

    public MessageTemplate getMessageTemplateById(Long id) {
        return repository.get(MessageTemplate.class, id);
    }

    public void updateMessageTemplate(MessageTemplate oldTemplate) {
        repository.saveOrUpdate(oldTemplate);
    }

    public void saveMessageTemplate(MessageTemplate template) {
        repository.save(template);
    }

    /**
     * 根据code查找模版
     * @param code
     * @return
     */
    public MessageTemplate getMessageTemplateByCode(String code) {
        MessageTemplate messageTemplate = new MessageTemplate();
        messageTemplate.setCode(code);
        return repository.get(messageTemplate);
    }
}
